package com.fbty.mt.utils;

import com.fbty.mt.domain.ClientInfo;

//String userAgent = request.getHeader("User-Agent");   
//ClientInfo clientInfo = ClientInfoUtil.getClientInfo(userAgent);   
//String userBrowser = clientInfo.getBrowserInfo();/** 得到用户的浏览器信息 */   
//String userOS = clientInfo.getOsInfo();/** 得到用户的操作系统信息 */  
//String userAgent = request.getHeader("User-Agent"); ClientInfo clientInfo = ClientInfoUtil.getClientInfo(userAgent); String userBrowser = clientInfo.getBrowserInfo();/** 得到用户的浏览器信息 */ String userOS = clientInfo.getOsInfo();/** 得到用户的操作系统信息 */

/**  
 * @author 林 水镜, E-mail:shuijing.linshj@alibaba-inc.com  
 * @create 2008-9-17 上午09:57:35  
 */   
public class ClientInfoUtil {   
   
    /**  
     * 根 据User-Agent，得到用户浏览器和操作系统信息  
     *   
     * @param userAgentInfo  
     * @return ClientInfo  
     */   
    public static ClientInfo getClientInfo(String userAgentInfo) {   
        String info = userAgentInfo.toUpperCase();   
        ClientInfo clientInfo = new ClientInfo();   
        String[] strInfo = info.substring(info.indexOf("(") + 1,   
                info.indexOf(")") - 1).split(";");   
        if ((info.indexOf("MSIE")) > -1) {   
            clientInfo.setBrowserInfo(strInfo[1].trim());   
            clientInfo.setOsInfo(strInfo[2].trim());   
        } else {   
            String[] str = info.split(" ");   
            if (info.indexOf("NAVIGATOR") < 0 && info.indexOf("FIREFOX") > -1) {   
                clientInfo.setBrowserInfo(str[str.length - 1].trim());   
                clientInfo.setOsInfo(strInfo[2].trim());   
            } else if ((info.indexOf("OPERA")) > -1) {   
                clientInfo.setBrowserInfo(str[0].trim());   
                clientInfo.setOsInfo(strInfo[0].trim());   
            } else if (info.indexOf("CHROME") < 0   
                    && info.indexOf("SAFARI") > -1) {   
                clientInfo.setBrowserInfo(str[str.length - 1].trim());   
                clientInfo.setOsInfo(strInfo[2].trim());   
            } else if (info.indexOf("CHROME") > -1) {   
               // clientInfo.setBrowserInfo(str[str.length - 2].trim());   
               // clientInfo.setOsInfo(strInfo[2].trim());   
            } else if (info.indexOf("NAVIGATOR") > -1) {   
                clientInfo.setBrowserInfo(str[str.length - 1].trim());   
                clientInfo.setOsInfo(strInfo[2].trim());   
            } else {   
                clientInfo.setBrowserInfo("Unknown Browser");   
                clientInfo.setOsInfo("Unknown OS");   
            }   
        }   
        return clientInfo;   
    }   
}  
///** * @author 林水镜, E-mail:shuijing.linshj@alibaba-inc.com * @create 2008-9-17 上午09:57:35 */ 
//public class ClientInfoUtil { 
//	/** * 根据User-Agent，得到用户浏览器和操作系统信息 * 
//	 * * @param userAgentInfo 
//	 * * @return ClientInfo */ 
//	public static ClientInfo getClientInfo(String userAgentInfo) { 
//		String info = userAgentInfo.toUpperCase(); 
//		ClientInfo clientInfo = new ClientInfo(); 
//		String[] strInfo = info.substring(info.indexOf("(") + 1, info.indexOf(")") - 1).split(";"); 
//		if ((info.indexOf("MSIE")) > -1) { 
//			clientInfo.setBrowserInfo(strInfo[1].trim()); 
//			clientInfo.setOsInfo(strInfo[2].trim()); 
//		} else { 
//			String[] str = info.split(" "); 
//			if (info.indexOf("NAVIGATOR") < 0 && info.indexOf("FIREFOX") > -1) { 
//				clientInfo.setBrowserInfo(str[str.length - 1].trim()); 
//				clientInfo.setOsInfo(strInfo[2].trim()); 
//			} else if ((info.indexOf("OPERA")) > -1) { 
//				clientInfo.setBrowserInfo(str[0].trim()); 
//				clientInfo.setOsInfo(strInfo[0].trim()); 
//			} else if (info.indexOf("CHROME") < 0 && info.indexOf("SAFARI") > -1) { 
//				clientInfo.setBrowserInfo(str[str.length - 1].trim()); 
//				clientInfo.setOsInfo(strInfo[2].trim()); 
//			} else if (info.indexOf("CHROME") > -1) { 
//				clientInfo.setBrowserInfo(str[str.length - 2].trim()); 
//				clientInfo.setOsInfo(strInfo[2].trim()); } 
//			else if (info.indexOf("NAVIGATOR") > -1) { 
//				clientInfo.setBrowserInfo(str[str.length - 1].trim()); 
//				clientInfo.setOsInfo(strInfo[2].trim()); 
//			} else { clientInfo.setBrowserInfo("Unknown Browser"); 
//				clientInfo.setOsInfo("Unknown OS"); 
//			} 
//		} 
//		return clientInfo; 
//	} 
//}

 

